Gepubliceerd: 28 mei 2025
Tenzij anders vermeld, zijn de volgende wijzigingen van toepassing op de nieuwste versie van het Chrome-bètakanaal voor Android, ChromeOS, Linux, macOS en Windows. Lees meer over de hier vermelde functies via de links of via de lijst op ChromeStatus.com . Chrome 138 is bètaversie vanaf 28 mei 2025. U kunt de nieuwste versie downloaden op Google.com voor desktop of in de Google Play Store voor Android.
CSS en UI
Deze release voegt zes nieuwe CSS- en UI-functies toe.
CSS stretch
sizing-trefwoord
Een trefwoord voor CSS-formaateigenschappen (bijvoorbeeld width
en height
) waarmee elementen kunnen groeien tot ze de beschikbare ruimte van het blok waarin ze zich bevinden exact vullen. Het is vergelijkbaar met 100%
, behalve dat de resulterende grootte wordt toegepast op het margevak van het element in plaats van op het vak dat wordt aangegeven door box-sizing
. Door dit trefwoord te gebruiken, behoudt het element zijn marges en blijft het toch zo groot mogelijk.
CSS-tekengerelateerde functies: abs()
, sign()
De tekengerelateerde functies abs()
en sign()
berekenen verschillende functies die gerelateerd zijn aan het teken van hun argument.
CSS-omgevingsvariabele voor lettertypeschaal op OS-niveau
Geeft de door de gebruiker gewenste lettergrootte weer in CSS. Momenteel is het niet praktisch voor een pagina om te detecteren of de gebruiker de gewenste lettergrootte heeft gewijzigd via de voorkeuren van het besturingssysteem. Deze CSS-omgevingsvariabele weerspiegelt de door de gebruiker gekozen schaal.
CSS sibling-index()
en sibling-count()
De functies sibling-index()
en sibling-count()
kunnen als gehele getallen in CSS-eigenschapswaarden worden gebruikt om een element te stylen op basis van de positie ten opzichte van de andere elementen, of het totale aantal elementen. Deze functies kunnen direct als gehele getallen worden gebruikt, maar interessanter nog, binnen calc()
expressies.
li {
animation-delay: calc(0.1s * sibling-index());
}
Interpolatievoortgangsfunctionele notatie: CSS-functie progress()
De functionele notatie progress()
is een wiskundige functie die een <number>
-waarde retourneert die de positie van één berekening (de voortgangswaarde) tussen twee andere berekeningen (de beginwaarde en de eindwaarde van de voortgang) vertegenwoordigt.
Viewport Segmenten Enumeratie API
Met de Viewport Segments API kunnen ontwikkelaars hun weblayout aanpassen aan opvouwbare apparaten. Viewportsegmenten definiëren de positie en afmetingen van een logisch gescheiden deel van de viewport. Viewportsegmenten worden gemaakt wanneer de viewport wordt gesplitst door een of meer hardwarekenmerken (zoals een vouw of een scharnier tussen afzonderlijke beeldschermen) die als scheidingslijn fungeren; segmenten zijn de delen van de viewport die door de ontwikkelaar als logisch gescheiden kunnen worden beschouwd.
Web-API's
Ondersteuning toevoegen voor videoframe-oriëntatiemetadata aan WebCodecs
Introduceert de waarden rotation: int
en flip: bool
voor diverse video-interfaces in WebCodecs, zodat ontwikkelaars kunnen werken met framebronnen met oriëntatie (bijvoorbeeld Android-camera's en bepaalde media). De VideoFrame
interface vergroot de mogelijkheid om VideoFrames te creëren met willekeurige rotatie en flip, evenals accessors voor deze informatie in het VideoFrame
object. Het VideoDecoderConfig
object krijgt rotation
en flip
die automatisch worden uitgezonden op gedecodeerde VideoFrame-objecten. De VideoEncoder
klasse krijgt mechanismen voor het doorgeven van rotatie- en flip-informatie van encode()
aan de VideoDecoderConfig
die wordt uitgezonden als onderdeel van EncodedVideoChunkMetadata
. Als encode()
wordt aangeroepen met frames met een andere oriëntatie, wordt een niet-fatale uitzondering gegenereerd. De configure()
methode kan worden gebruikt om de toegestane oriëntatie opnieuw in te stellen.
API voor crashrapportage: is_top_level
en visibility_state
Met deze functie worden de tekenreeksvelden is_top_level
en visibility_state
toegevoegd aan de API-body voor crashrapportage die wordt verzonden naar het standaardrapportage-eindpunt voor crashrapportages.
Escape <
en >
in kenmerken bij serialisatie
Escape <
en >
in waarden van kenmerken bij serialisatie. Dit verkleint het risico op mutatie-XSS-aanvallen, die optreden wanneer de waarde van een kenmerk wordt geïnterpreteerd als een starttagtoken nadat het is geserialiseerd en opnieuw geparseerd.
Integriteitsbeleid voor scripts
Met Subresource-Integrity (SRI) kunnen ontwikkelaars controleren of de assets die ze willen laden, daadwerkelijk de assets zijn die ze laden. Ontwikkelaars kunnen er momenteel echter niet zeker van zijn dat al hun scripts met SRI worden gevalideerd. De Integrity-Policy
header geeft ontwikkelaars de mogelijkheid om aan te geven dat elke resource van een bepaald type een integriteitscontrole nodig heeft. Als een resource van dat type wordt geladen zonder integriteitsmetadata, mislukt die poging en wordt een overtredingsrapport gegenereerd.
Voorspelbare gerapporteerde opslagquota
Rapporteer een voorspelbare opslagquota via de Estimate API van StorageManager voor sites die geen onbeperkte opslagrechten hebben. Het is mogelijk om de browsermodus van een gebruiker te detecteren aan de hand van de gerapporteerde opslagquota, omdat de beschikbaar gestelde opslagruimte in de incognitomodus aanzienlijk kleiner is dan in de normale modus.
Deze maatregel voorkomt dat de browsemodus van een gebruiker wordt gedetecteerd met behulp van de opslag-API door een kunstmatige quota te rapporteren, gelijk aan gebruik + min (10 GiB, schijfruimte afgerond naar de dichtstbijzijnde 1 GiB), in alle browsemodi voor sites met beperkte opslagrechten. Sites met onbeperkte opslagrechten worden niet beïnvloed. Afgedwongen quota worden ook niet beïnvloed.
pushsubscriptionchange
-gebeurtenis bij opnieuw abonneren
Activeer de pushsubscriptionchange
-gebeurtenis in serviceworkers wanneer een origin waarvoor in het verleden een push-abonnement bestond, maar dat is ingetrokken vanwege een wijziging in de machtiging (van 'grant' naar 'deny'/'default'), opnieuw een meldingsmachtiging krijgt. De gebeurtenis wordt geactiveerd met een lege oldSubscription
en newSubscription
.
Speculatieregels: voeg prefetchCache
en prerenderCache
toe aan Clear-Site-Data
header
Twee nieuwe waarden voor de Clear-Site-Data
header helpen ontwikkelaars bij het wissen van de prerender- en prefetchcache: prefetchCache
en prerenderCache
. Deze kunnen bij elke aanvraag worden verzonden en hoeven niet bij de documentaanvraag te worden gedaan (ze kunnen bijvoorbeeld worden geretourneerd bij het toevoegen aan de winkelwagen of bij API-aanroepen voor inloggen en uitloggen om speculaties over statuswijzigingen te wissen).
Speculatieregels: target_hint
-veld
Dit breidt de syntaxis van speculatieregels uit, zodat ontwikkelaars het veld target_hint
kunnen specificeren. Dit veld geeft een hint om aan te geven waar een vooraf gerenderde pagina uiteindelijk wordt geactiveerd. Wanneer _blank
als hint wordt opgegeven, kan een vooraf gerenderde pagina worden geactiveerd voor een navigeerbare pagina die is geopend met window.open()
. Dit veld wordt niet ondersteund voor prefetching.
Strikt beleid voor dezelfde oorsprong voor de Storage Access API
Past de semantiek van de Storage Access API aan om het Same Origin Policy strikt te volgen met betrekking tot beveiliging. Dit betekent dat wanneer document.requestStorageAccess()
in een frame wordt gebruikt, cookies standaard alleen worden gekoppeld aan verzoeken aan de oorsprong van het iframe (niet de site).
Samenvattings-API
Een JavaScript API voor het produceren van samenvattingen van invoertekst, ondersteund door een AI-taalmodel. Browsers en besturingssystemen worden steeds vaker geacht toegang te hebben tot een taalmodel. Door dit ingebouwde model beschikbaar te stellen, vermijden we dat elke website zijn eigen taalmodel van meerdere gigabytes hoeft te downloaden of invoertekst naar API's van derden hoeft te sturen. De summar API biedt met name een geavanceerde API voor koppeling met een taalmodel om invoer voor diverse use cases samen te vatten op een manier die niet afhankelijk is van het specifieke taalmodel in kwestie. Er is een bedrijfsbeleid ( GenAILocalFoundationalModelSettings
) beschikbaar om het downloaden van het onderliggende model uit te schakelen, waardoor deze API onbeschikbaar zou worden.
Meer informatie vindt u in Genereer bondige samenvattingen met ingebouwde AI .
Taaldetector API
Een JavaScript API om te detecteren welke taal in bepaalde tekst wordt gebruikt, met een betrouwbaarheidsniveau. Dit is een belangrijke aanvulling op vertaling en kan worden gebruikt in combinatie met de Translator API . Neem bijvoorbeeld gebruikersinvoer in een onbekende taal, bepaal de taal en vertaal deze vervolgens naar een specifieke doeltaal. Hoewel browsers vaak al taaldetectiemogelijkheden hebben, biedt dit dezelfde mogelijkheden aan webontwikkelaars met een JavaScript API, als aanvulling op de vertaal-API.
Er is een bedrijfsbeleid ( GenAILocalFoundationalModelSettings
) beschikbaar om het downloaden van het onderliggende model uit te schakelen. Hierdoor zou deze API niet beschikbaar zijn.
Meer informatie vindt u in Detecteren welke taal wordt gebruikt met ingebouwde AI .
Vertaler-API
Een JavaScript API om webpagina's te voorzien van vertaalmogelijkheden. Hoewel browsers hun gebruikers steeds vaker taalvertaling aanbieden, kunnen dergelijke vertaalmogelijkheden ook nuttig zijn voor webontwikkelaars. Dit is met name het geval wanneer de ingebouwde vertaalmogelijkheden van de browser niet voldoende zijn, zoals bij live en interactieve services. Er is een bedrijfsbeleid ( GenAILocalFoundationalModelSettings
) beschikbaar om het downloaden van het onderliggende model uit te schakelen, waardoor deze API onbeschikbaar zou worden.
Leer meer over vertalen met ingebouwde AI .
Uitbreidingen van de reikwijdte van web-apps
Voegt een "scope_extensions"
-veld voor web-appmanifest toe waarmee web-apps hun bereik kunnen uitbreiden naar andere bronnen. Hierdoor kunnen sites die meerdere subdomeinen en topleveldomeinen beheren, als één web-app worden weergegeven. Vereist dat vermelde bronnen de koppeling met de web-app bevestigen met behulp van een configuratiebestand .well-known/web-app-origin-association
.
Webserieel via Bluetooth op Android
Met deze functie kunnen webpagina's en webapps verbinding maken met seriële poorten via Bluetooth op Android- apparaten. Chrome op Android ondersteunt nu Web Serial API via Bluetooth RFCOMM. Bestaande bedrijfsbeleidsregels ( DefaultSerialGuardSetting
, SerialAllowAllPortsForUrls
, SerialAllowUsbDevicesForUrls
, SerialAskForUrls
en SerialBlockedForUrls
) op andere platforms zijn ingeschakeld in de future_on-status voor Android. Alle beleidsregels, behalve SerialAllowUsbDevicesForUrls
, worden ingeschakeld nadat de functie is ingeschakeld. SerialAllowUsbDevicesForUrls
wordt in een toekomstige versie ingeschakeld nadat Android ondersteuning op systeemniveau biedt voor bekabelde seriële poorten.
Afkeuringen en verwijderingen
Deze versie van Chrome introduceert de volgende verouderingen en verwijderingen. Ga naar ChromeStatus.com voor lijsten met geplande verouderingen, huidige verouderingen en eerdere verwijderingen.
In deze versie van Chrome zijn twee functies verouderd.
Verouderde asynchrone bereikverwijdering voor Media Source Extensions
De Media Source-standaard is al lang geleden gewijzigd, zodat dubbelzinnig gedefinieerd gedrag met betrekking tot asynchrone bereikverwijderingen niet meer is toegestaan:
-
SourceBuffer.abort()
breektSourceBuffer.remove()
-bewerkingen niet meer af. - Met de instelling
MediaSource.duration
kunnen de momenteel gebufferde media niet meer worden afgekapt.
In beide gevallen worden nu uitzonderingen gegenereerd.
Verwijder SwiftShader-fallback
Het toestaan van automatische terugval naar WebGL, ondersteund door de softwarerenderer SwiftShader, is verouderd en het aanmaken van WebGL-contexten mislukt in plaats van terug te vallen op SwiftShader. Dit is om twee belangrijke redenen gedaan:
- SwiftShader vormt een groot beveiligingsrisico vanwege de JIT-code die wordt uitgevoerd in het GPU-proces van Chromium.
- Gebruikers ervaren een slechte ervaring wanneer ze terugvallen van een high-performance GPU-ondersteunde WebGL naar een CPU-ondersteunde implementatie. Gebruikers hebben geen controle over dit gedrag en het is moeilijk te beschrijven in bugrapporten.
Tijdens de verouderingsperiode verschijnt er een waarschuwing in de Chrome DevTools-console wanneer een WebGL-context wordt gemaakt en ondersteund met SwiftShader. Door --enable-unsafe-swiftshader
in te voeren, wordt deze waarschuwing verwijderd.